/***************************************************************************
    pldp.h
    -------------------
    begin                : Jan 21, 2004
    copyright            : (C) 2004 by Tim Sutton
    email                : tim@linfiniti.com

 ***************************************************************************/

/***************************************************************************
 *                                                                         *
 *   This program is free software; you can redistribute it and/or modify  *
 *   it under the terms of the GNU General Public License as published by  *
 *   the Free Software Foundation; either version 2 of the License, or     *
 *   (at your option) any later version.                                   *
 *                                                                         *
 ***************************************************************************/
/*  $Id: plugin.h 9138 2008-08-23 21:37:31Z jef $ */
/***************************************************************************
 *   QGIS Programming conventions:
 *
 *   mVariableName - a class level member variable
 *   sVariableName - a static class level member variable
 *   variableName() - accessor for a class member (no 'get' in front of name)
 *   setVariableName() - mutator for a class member (prefix with 'set')
 *
 *   Additional useful conventions:
 *
 *   theVariableName - a method parameter (prefix with 'the')
 *   myVariableName - a locally declared variable within a method ('my' prefix)
 *
 *   DO: Use mixed case variable names - myVariableName
 *   DON'T: separate variable names using underscores: my_variable_name (NO!)
 *
 * **************************************************************************/
#ifndef pldp_H
#define pldp_H

//QT4 includes
#include <QObject>

//QGIS includes
#include "qgisplugin.h"

//Plugin includes
#include "hierarchyview.h"
#include "profileview.h"

//forward declarations
class QAction;
class QToolBar;

class QgisInterface;

class pldp: public QObject, public QgisPlugin
{
    Q_OBJECT

  public:

    /**
    * Constructor for a plugin. The QgisInterface pointer is passed by
    * QGIS when it attempts to instantiate the plugin.
    * @param theInterface Pointer to the QgisInterface object.
     */
    pldp( QgisInterface * theInterface );
    //! Destructor
    virtual ~pldp();

  public slots:
    //! init the gui
    virtual void initGui();    
    //! unload the plugin
    void unload();   
    //! show custom data
    void debuginfo();

  private:
    int mPluginType;
    //! Pointer to the QGIS interface object
    QgisInterface *mQGisIface;
    //! Указатель на тулбар
    QToolBar *mToolBar;
    //! Окно иерархии трубопроводов
    HierarchyView *pipeLineHierarhy;
    //! Окно продольного профиля
    ProfileView *profile;

};

#endif //pldp_H
